package routes

import (
	"net/http"
	"rego-top/dto"

	"github.com/gin-gonic/gin"
)

func SetupRoutes(router *gin.Engine) {
	// 健康检查
	router.GET("/health", func(c *gin.Context) {
		c.JSON(http.StatusOK, dto.SuccessResponse("服务运行正常", map[string]string{
			"status": "healthy",
			"service": "rego-top",
		}))
	})

	// API版本1
	v1 := router.Group("/api/v1")
	{
		// 认证相关路由
		SetupAuthRoutes(v1)
		
		// 用户管理路由（管理员功能）
		SetupUserRoutes(v1)
		
		// 角色管理路由
		SetupRoleRoutes(v1)
		
		// 权限管理路由
		SetupPermissionRoutes(v1)
	}

	// 404处理
	router.NoRoute(func(c *gin.Context) {
		c.JSON(http.StatusNotFound, dto.ErrorResponse("接口不存在", "请检查请求路径"))
	})
}

// SetupUserRoutes 用户管理路由（占位符，后续实现）
func SetupUserRoutes(router *gin.RouterGroup) {
	// TODO: 实现用户管理路由
}

// SetupRoleRoutes 角色管理路由（占位符，后续实现）
func SetupRoleRoutes(router *gin.RouterGroup) {
	// TODO: 实现角色管理路由
}

// SetupPermissionRoutes 权限管理路由（占位符，后续实现）
func SetupPermissionRoutes(router *gin.RouterGroup) {
	// TODO: 实现权限管理路由
}